PUBLIC FUNCTION long KeyCard(long  ComNumber,long  CardNo,long  nBlock,long  Encrypt,ref string  CardPass, &
   ref string  SystemCode,      ref string  HotelCode, ref string  Pass, ref string  Address,           &
   ref string  SDIn,ref string  STIn, ref string  SDOut,ref string  STOut,      long  LEVEL_Pass,long  PassMode,   &
  long  AddressMode,long  AddressQty,long  TimeMode,      long  V8, long  V16, long  V24, long  AlwaysOpen, long  OpenBolt,  &
  long  TerminateOld, long  ValidTimes)LIBRARY "HUNERF.dll" alias for "KeyCard;Ansi"


-----------------------------------------------------------------------------------


long ll_ComNumber,ll_CardNo, ll_nBlock,ll_Encrypt,ll_LevelPass,ll_PassMode,ll_AddressMode,ll_AddressQty,ll_TimeMode
long ll_V8, ll_V16, ll_V24, ll_AlwaysOpen,  ll_OpenBolt,  ll_TerminateOld, ll_ValidTimes
long ll_Ret

String ls_CardPass, ls_SystemCode, ls_HotelCode, ls_RoomPass, ls_RoomAddress
String   ls_SDIn, ls_STIn,ls_SDOut, ls_STOut
DateTime ldtm_DateIN,ldtm_DateOut,ldtm_TimeIN, ldtm_TimeOut

ls_CardPass=Space(32)
ls_SystemCode=Space(32)
ls_HotelCode=Space(32)
ls_RoomPass=Space(32)
ls_RoomAddress=Space(32)
ls_SDIn=Space(32)
ls_STIn=Space(32)
ls_SDOut=Space(32)
ls_STOut=Space(32)

ll_ComNumber=long(em_ComNumber.Text)      //˿ںţʵд
IF isnull(ll_ComNumber) or ll_ComNumber<0 then
	Messagebox("Information","¼˿ں",Exclamation!)
	RETURN
END IF

ll_CardNo=long(em_CardNo.Text)                    //ԭ
IF isnull(ll_CardNo) or ll_CardNo<0 then
Messagebox("Information","¼뿨",Exclamation!)
RETURN
END IF

ll_nBlock=long(em_nBlock.Text)                      //Ĭ4

ll_Encrypt=long(em_Encrypt.Text)                  //Ĭ1

ls_CardPass=em_CardPass.Text            //Ĭ"82A094FFFFFF"

ls_SystemCode=em_SystemCode.Text   //ݿmscݿĬ·ΪC:\HUNELOCK\DATA\HData賧Ҵݿ

ls_HotelCode=em_HotelCode.Text          //ݿmscݿĬ·ΪC:\HUNELOCK\DATA\HData賧Ҵݿ

ll_TerminateOld=0                                             //Ĭ0
IF cbx_TerminateOld.Checked=TRUE THEN  ll_TerminateOld=1
ll_PassMode=1                                                //Ĭ1
IF  ll_TerminateOld>0 then ll_PassMode=2   
IF ll_TerminateOld>0 then
	ls_RoomPass=gf_GetTimePass3b()	
	em_RoomPass.Text=ls_RoomPass
ELSE
	ls_RoomPass=Trim(em_RoomPass.Text)  
END IF
	

ls_RoomAddress=Trim(em_RoomAddress.Text )      //ַ,11 λ, 01(̶ֵ)+Building(2 λ)+Floor(2 λ)+Room(2λ)+ Door (2 λ). μı

dp_DateIn.getvalue( ldtm_DateIN)                 //סڣʽyy-mm-ddáyyyy-mm-dd                  
dp_TimeIn.getvalue( ldtm_TimeIn)                //סʱ䣬ʽhh:nn:ss
dp_DateOut.getvalue( ldtm_DateOut)             //˷ڣʽyy-mm-ddáyyyy-mm-dd
dp_TimeOut.getvalue( ldtm_TimeOut)            //ֹʱ䣬ʽhh:nn:ss


ls_SDIn=string( ldtm_DateIn,"yy-MM-dd")               //ʽyy-mm-ddáyyyy-mm-dd
ls_SDOut=string( ldtm_DateOut,"yy-MM-dd")           //ʽyy-mm-ddáyyyy-mm-dd
ls_STIn=string(ldtm_TimeIn,"hh:mm:ss")
ls_STOut=string(ldtm_TimeOut,"hh:mm:ss")

ll_LevelPass=long(em_LevelPass.Text )                //Ĭ3

ll_PassMode=1                                                  //Ĭ1

ll_AddressMode=long(em_AddressMode.Text)       //Ĭ0

ll_AddressQty=long(em_AddressQty.Text )          //Ĭ1

ll_TimeMode=long(em_TimeMode.Text)             //Ĭ0

ll_V8=long(em_V8.Text )                                  //Ĭ255
ll_V16=long(em_V16.Text)                                //Ĭ255
ll_V24=long(em_V24.Text )                               //Ĭ255

ll_AlwaysOpen=long(em_AlwaysOpen.Text)          //Ĭ0

ll_OpenBolt=long(em_OpenBolt.Text)                   //Ĭ0

ll_ValidTimes=long(em_ValidTimes.Text )           //Ĭ255
                                                                             
ll_Ret = KeyCard(ll_ComNumber, ll_CardNo,ll_nBlock, ll_Encrypt,ref ls_CardPass,ref ls_SystemCode, ref ls_HotelCode,  &
					ref ls_RoomPass, ref  ls_RoomAddress, ref ls_SDIn,ref ls_STIn, ref ls_SDOut,ref ls_STOut,ll_LEVELPass,ll_PassMode,   &
					ll_AddressMode,ll_AddressQty,ll_TimeMode,ll_V8, ll_V16, ll_V24, ll_AlwaysOpen, ll_OpenBolt,ll_TerminateOld,  &
					ll_ValidTimes)	
		
			
IF (ll_Ret<>0) THEN
  MessageBox("Information","пƬʧ! :"+String(ll_Ret),Stopsign!,OK!)
  RETURN
END IF

MessageBox("Information","пƬɹ! ")

